A digital image can be partitioned into multiple segments by a process called segmentation. Typically, segmentation includes clustering of pixels into segments that are similar with respect to some characteristic or computed property, such as color, intensity, or texture. However, this type of segmentation does not provide any semantic information with respect to the contents of the digital image. For example, segmenting a digital image based on color does not provide semantic information as to whether the image has people, or other objects therein. Semantic information may be extracted from images, for example, by building models for the foreground and background areas. User interaction may be used to increase the object segmentation accuracy.